A Predicate Transformer Semantics for a Concurrent Language of Refinement
نویسندگان
چکیده
Circus is a combination of Z and CSP; its chief distinguishing feature is the inclusion of the ideas of the refinement calculus. Our main objective is the definition of refinement methods for concurrent programs. The original semantic model for Circus is Hoare and He’s unifying theories of programming. In this paper, we present an equivalent semantics based on predicate transformers. With this new model, we provide a more adequate basis for the formalisation of refinement and verificationcondition generation rules. Furthermore, this new framework makes it possible to include logical variables and angelic nondeterminism in Circus. The consistency of the relational and predicate transformer models gives us confidence in their accuracy.
منابع مشابه
A Weakest Precondition Semantics for an Object-Oriented Language of Refinement
We define a predicate-transformer semantics for an objectoriented language that includes specification constructs from refinement calculi. The language includes recursive classes, visibility control, dynamic binding, and recursive methods. Using the semantics, we formulate notions of refinement. Such results are a first step towards a refinement calculus.
متن کاملSystem Development through Refinement
B is a software development method which is based on the concepts of weakest preconditions and refinement calculus. Safety properties of concurrent systems can be expressed in an extension of the B language called Event B. We show how we used the B method to proof the correctness of Harris’ non-blocking linked-list algorithm and we discuss the suitability of (Event) B for the specification and ...
متن کاملPredicate transformers in the semantics of Circus
Circus is a combination of Z and CSP; its chief distinguishing feature is the inclusion of the ideas of the refinement calculus. Our main objective is the definition of refinement methods for concurrent programs. The original semantic model for Circus is Hoare and He’s unifying theories of programming. In this paper, we present an equivalent semantics based on predicate transformers. With this ...
متن کاملInterpreting Nondeterminism in the Refinement Calculus
We introduce a simple programming language and define its predicate transformer semantics. We motivate the choice of the constructs for the language by algebraic arguments, showing that the constructs are essentially the basic algebraic operations that are available for predicate transformers, when these are viewed as forming a complete lattice enriched category. We then show that the statement...
متن کاملOn the Semantics of Refinement Calculi
Refinement calculi for imperative programs provide an integrated framework for programs and specifications and allow one to develop programs from specifications in a systematic fashion. The semantics of these calculi has traditionally been defined in terms of predicate transformers and poses several challenges in defining a state transformer semantics in the denotational style. We define a nove...
متن کامل